package com.zbkj.crmeb.order.request;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.utils.jackyun.BaseRequestBizData;

import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = false)
public class JackyunOrderCreateRequest extends BaseRequestBizData {

    private TradeOrder tradeOrder;
    
    @Data
    public static class TradeOrder {
        /**
         * 下单时间
         */
        private Date tradeTime;
        /**
         * 付款时间
         */
        private Date payTime;
        /**
         * 支付方式: 1.支付宝  2.财付通  3.微信支付  4.银联支付  5.盛付通  6.其他  8.储值卡  9扫码付款
         */
        private Byte payType;
        /**
         * 支付账号
         */
        private String payAccount;
        /**
         * 支付单号
         */
        private String payNo;
        /**
         * 终端支付单号
         */
        private String customerPayNo;
        /**
         * 店铺名称、销售渠道
         */
        private String shopName;
        /**
         * 发货仓库编码
         */
        private String warehouseCode;
        /**
         * 订单类型(1=零售业务2=代发货3=预售订单5=代销售)
         */
        private String tradeType;
        /**
         * 商品金额
         */
        private BigDecimal totalFee;
        /**
         * 终端金额
         */
        private BigDecimal fenxiaoprice;
        /**
         * 应收金额
         */
        private BigDecimal payment;
        /**
         * 运费
         */
        private BigDecimal postFee;
        /**
         * 应收运费
         */
        private BigDecimal receivedPostFee;
        /**
         * 税费
         */
        private BigDecimal taxFee;
        /**
         * 收货人
         */
        private String receiverName;
        /**
         * 电话
         */
        private String phone;
        /**
         * 手机
         */
        private String mobile;
        /**
         * 国家
         */
        private String country;
        /**
         * 省
         */
        private String state;
        /**
         * 城市
         */
        private String city;
        /**
         * 区县
         */
        private String district;
        /**
         * 详细地址
         */
        private String address;
        /**
         * 证件类型(1=身份证2=学生证3=军官证4=护照5=港澳通行证6=其他)
         */
        private String identityCardType;
        /**
         * 证件号码
         */
        private String identityCardNo;
        /**
         * 证件使用姓名
         */
        private String identityCardName;
        /**
         * 网店订单号
         */
        private String onlineTradeNo;
        /**
         * 订单数据
         */
        private List<TradeOrderDetail> tradeOrderDetails;

    }

    @Data
    public static class TradeOrderDetail {
        /**
         * 货品编号
         */
        private String goodsNo;
        /**
         * 规格名称
         */
        private String specName;
        /**
         * 条码
         */
        private String barcode;
        /**
         * 单位
         */
        private String unit;
        /**
         * 单价
         */
        private BigDecimal sellPrice;
        /**
         * 数量
         */
        private BigDecimal sellCount;
        /**
         * 总金额
         */
        private BigDecimal sellTotal;
    }

}
